﻿-- =============================================
-- Author:		<赵洪涛>
-- Create date: <2011-12-23>
-- Description:	<订单部门审核>
-- =============================================

CREATE PROCEDURE [dbo].[proc_Order_Proc_Shenhe]
(
		@OId uniqueidentifier
		,@shpjg	nvarchar(50)
		,@shpyj	nvarchar(400)
		,@shpr	nvarchar(50)
	)
AS
Begin
	if @shpjg='-2'	--驳回
		begin
			Insert Into Order_Shenhe(order_id,shpr,shpyj) Values(@OId,@shpr,@shpyj)		--审核日志
			Update [Order] Set StateId=-2,AuditPerson=@shpr Where OId=@OId And StateId<=1	-- -2为驳回
		end
	else
		Begin
			if @shpjg='-1'	--驳回	
				Update [Order] Set StateId=-1,AuditPerson=@shpr Where OId=@OId And StateId<=1	-- -1审核状态(系统维护用)
			else	--上报到财务
				Begin
--By 赵洪涛 2012-08-13 将16:30后的数据调整到第2天 Begin--
					Declare @nDays int,@nHour int,@nMinute int,@dToday DateTime
					DECLARE @dt datetime,@mldt datetime
					SET @dt=GETDATE()
					SELECT @mldt=DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'01') 
--					Set @dToday = GetDate() --初始化日期
					--16:30分调整日期
					Set @nHour = 16
					Set @nMinute = 30

					--今天+1天与下月1日进行比较，相同则说明今天是本月最后1天
					If DatePart(hh,@dt)=@nHour And DatePart(mi,@dt)<=@nMinute and Convert(varchar(10),@mldt,120)<>CONVERT(varchar(10),@dt,120)	--16:00~16:30分禁止审核
						Return -1

					Set @dToday=dbo.Get_SetDateTime()
--By 赵洪涛 2012-08-13 将16:30后的数据调整到第2天 End --

					Update [Order] Set AuditDate=@dToday Where OId=@OId AND (AuditDate<'2013-01-01' Or AuditDate Is Null)
					Update [Order] Set StateId=1,AuditPerson=@shpr Where OId=@OId And StateId<=1 And AuditDate>'2013-01-01'	-- 1为上报到财务
				End
		End
End